.TH dcut 1 "2004-01"
.SH NAME
.B dcut
\- Debian archive .commands file upload tool
.SH SYNTAX
.B dcut
[\fIoptions\fR]
[\fIhost\fR]
[\fIcommand\fR [\fB,\fR \fIcommand\fR]]
.P
.B dcut
\fB\-U\fR \fIfilename\fR
[\fIhost\fR]
.SH DESCRIPTION
dcut creates and / or uploads .commands files for the Debian FTP
archive upload queue.
It is a companion for \fBdput\fR and uses dput configuration files.
As with dput, you can specify a
.I host
defined in the dput configuration file. In case your host is
funnily named, i.e. it could mistaken for a command, you may also use
a command line option to specify the host.
In default operation mode (unless you request to upload an existing
file), the host description is followed by a comma-separated list of
commands. (Semicolons also work but require shell escaping.)
.SH COMMANDS
Presently supported commands are \fBrm\fR, \fBreschedule\fR and
\fBcancel\fR. \fBrm\fR can be used to remove files from the
UploadQueue directories. \fBdcut\fR generates commands that
search the subdirectories automatically, but you can also
specify \fB\-\-nosearchdirs\fR and then target individual
UploadQueue directories, i.e. either filenames without path for
regular incoming or \fBDELAYED/#-day/filename\fR. Wildcards
are accepted. \fBreschedule changes-file #-day\fR can be used
to move an upload from any \fBDEFERRED\fR queue to
\fB#-day\fR (use \fB0-day\fR for immediate processing).
\fBcancel changes-file\fR cancels an upload from \fBDEFERRED\fR.
Both \fBreschedule\fR and \fBcancel\fR take a complete basename
of a changes file as argument and operate on the whole upload,
they process the changes and all files mentioned by it.
The authorative documentation for the commands interface
can be found at
"ftp://ftp.upload.debian.org/pub/UploadQueue/README".
.P
The options try to resemble dput's to the extent possible.
.P
Note that dcut calls debsign to sign any commands file generated.
In particular, debsign does basic syntax checking on the commands you
specify.
.SH OPTIONS
.TP
.B \-c \fIfilename\fR, \fB\-\-config\fR=\fIfilename\fR
Use config file \fIfilename\fR.
.TP
.B \-d, \-\-debug
Print debug messages.
.TP
.B \-h, \-\-help
Print help information and exit.
.TP
.B \-\-host=\fIhost\fR
Upload to \fIhost\fR (as found in the dput configuration).
Use this if your host is named like one of the commands.
.TP
.B \-m \fImaintainer\fR, \fB\-\-maintainer\fR=\fImaintainer\fR
Use \fImaintainer\fR (full email) for the uploader field and gpg key selection.
This has no effect when \fB--upload\fR is used.
.TP
.B \-k \fIkeyid\fR, \fB\-\-keyid\fR=\fIkeyid\fR
Use \fIkeyid\fR for signing. Default is to let \fBdebsign\fR choose a keyid.
This has no effect when \fB--upload\fR is used.
.TP
.B \-O \fIfilename\fR, \fB\-\-output\fR=\fIfilename\fR
Write commands file to \fIfilename\fR instead of uploading.
You sould not specify a host when using this option.
Also, this option should not be used with \fB--upload\fR.
Both \fIfilename\fR and \fIfilename\fB.asc\fR will be overwritten.
.TP
.B \-P, \-\-passive
Use passive ftp instead of active.
.TP
.B \-s, \-\-simulate
Simulate an upload only.
.TP
.B \-U \fIfilename\fR, \fB\-\-upload\fR=\fIfilename\fR
Upload commands file. Note: No checks (syntax or presence/validity of
signature) are currently performed.
.TP
.B \-i \fIfilename\fR, \fB\-\-input\fR=\fIfilename\fR
Read an input changes file to create a commands file that can remove
the files listed in the .changes file from the upload queue.
.TP
.B \-v, \-\-version
Print version information and exit.

.SH ENVIRONMENT
The program uses the environment variables DEBEMAIL or EMAIL and
DEBFULLNAME to populate the uploader field. Also, environment variables
may be used in search of a suitable place for temporary files.

.SH EXAMPLES
To upload a GPG signed commands file that removes dput_0.9.2.33_all.deb
file from the queue, one would have to do

.in +4n
.nf
$ dcut rm dput_0.9.2.33_all.deb
.fi

.in
This creates and uploads a commands file that looks like the following:
.nf

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Uploader: Foo Bar <foo@bar.org>
Commands:
 rm dput_0.9.2.33_all.deb


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYKAkisYx0ACgkQ4eu+pS04mIfwLQCg85XVpae/LHLrbvzywcQNt9PS
ztsAoMgw6HjcI9flfmwjgMiapcu379Pu
=fjp0
-----END PGP SIGNATURE-----
.fi

To upload a GPG signed commands file that removes files named in
dput_0.9.4_i386.changes from the queue, one would have to do

.in +4n
.nf
$ dcut \-\-input dput_0.9.4_i386.changes
.fi

.in
This creates and uploads a commands file that looks like the following:
.nf

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Uploader: Foo Bar <foo@bar.org>
Commands:
 rm \-\-searchdirs dput_0.9.4.dsc
 rm \-\-searchdirs dput_0.9.4.tar.gz
 rm \-\-searchdirs dput_0.9.4_all.deb


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYKAkisYx0ACgkQ4eu+pS04mIfwLQCg85XVpae/LHLrbvzywcQNt9PS
ztsAoMgw6HjcI9flfmwjgMiapcu379Pu
=fjp0
-----END PGP SIGNATURE-----
.fi

If you've uploaded packages with the \-\-delayed option (uploaded to
\fBDEFERRED\fR queue), then use the \fBcancel\fR command with a .changes
file.

.in +4n
.nf
$ dcut cancel dput_0.9.4_i386.changes
.fi

.in
This creates and uploads a commands file just like the other commands.
.nf

.SH LICENSE
This program is distributed under the terms of the Gnu General Public
License, Version 2 or later.

.SH BUGS
Please direct bug reports and comments to the author.
Your feedback is appreciated.
If you're using Debian packages, file bugs against the dput package.

.SH FILES
dcut makes use of the dput configuration files:
.TP
.I /etc/dput.cf
System dput configuration file.
.TP
.I ~/.dput.cf
User dput configuration file.

Much helpful input and some stolen code from dput author Christian Kurz.
.SH SEE ALSO
.BR dput (1),
.BR dput.cf (5)
.br
ftp://ftp.upload.debian.org/pub/UploadQueue/README

.SH AUTHOR
Thomas Viehmann <tv@beamnet.de>

.\" Local variables:
.\" mode: nroff
.\" coding: utf-8
.\" End:
.\" vim: fileencoding=utf-8 filetype=nroff :
